home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / BEERSRC.ZIP / XMODE.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-21  |  3.1 KB  |  133 lines

  1. // Header file for xmode.
  2.  
  3.  
  4.  
  5. #ifndef __XMODE__
  6. #define __XMODE__
  7.  
  8. // Definiton of graphics window.
  9. #define XMIN            0
  10. #define XMAX            319
  11. #define YMIN            0
  12. #define YMAX            219
  13.  
  14.  
  15. #define MAXSPRITES        60
  16. #define MAXOBJS            60
  17.  
  18. #define OBJ_ONECYCLE        0x01    // Destroy object after a cycle.
  19. #define OBJ_HIGH        0x02    // High priority.
  20. #define OBJ_LOW            0x00    // Low priority.
  21.  
  22.  
  23. /* --- SPRITE DEFINITION
  24.    A sprite is defined as the following:
  25.    xs  :  Width of sprite in pixels.
  26.    ys  :  Heigth in pixels.
  27.    maxn:  Number of pictures per sprite. (always > 0)
  28.  
  29.  Located after this header is the sprite data itself.
  30.  Each pixel is ONE byte. (planar video mode)
  31.  First row of first picture, second row of first picture, ...
  32.  First row of second picture, ... and so on.
  33. */
  34.  
  35. #define SPR_ALIGN        0x07    // Align Field.
  36. #define SPR_DOUBLE        0x08    // Double paint picture.
  37.  
  38. struct sprstrc {
  39.  
  40.    int   xs;            // x size of sprite.
  41.    int   ys;            // y size.
  42.    int     maxn;            // Number of pictures.
  43.    // Immediately here follows the SPRITEDATA.
  44.    char  data[];
  45. };
  46.  
  47.  
  48. /* --- STAR definition
  49.    Very simple indeed.
  50.    Just a coordinate pair, a color and a base speed. (per star)
  51.    A STARFIELD consists of an array of STARS.
  52. */
  53.  
  54. struct starstrc {
  55.  
  56.    int   x, y;
  57.    int   color;
  58.    int   speed;
  59.  
  60. };
  61.  
  62.  
  63. #define retrace() {while(inportb(0x3da)&8); while(!(inportb(0x3da)&8));}
  64.  
  65.  
  66. void setpalette(char *ptr, int ncolors);
  67. void setcolor(int c, int r, int g, int b);
  68. void setvanillapalette(int c);
  69. void setstandardpalette(void);
  70. void glowto(int r, int g, int b);
  71. void glowin(int dir);
  72. void glowout(void);
  73. void setattrib(int m);
  74. int cyclepalette(int c1, int c2, int pos);
  75.  
  76. void defstarfield(int n, struct starstrc *star);
  77. void gostarfield(void);
  78. void stopstarfield(void);
  79. void killstarfield(void);
  80.  
  81. int defsprite(void *sprite, unsigned flags);
  82. void killsprite(int sprite);
  83. void killallsprites(void);
  84.  
  85. int defobject(int sprite, int x, int y, int cycle);
  86. void abandonobject(int obj);
  87. void killobject(int obj);
  88. void killallobjects(void);
  89. void shutxmode(void);
  90. void initxmode(void);
  91. void setpage(int p);
  92. void updatescreen(void);
  93.  
  94. unsigned long getspritesize(int sprite);
  95. unsigned long getobjectsize(int object);
  96. unsigned long getobjectpos(int object);
  97.  
  98. void setxmode(void);
  99. void screenmode(int mode);
  100. int VGApresent(void);
  101. void plot(int x, int y, int c);
  102. int getpixel(int x, int y);
  103.  
  104. int moveobject(int obj, int x, int y);
  105. int moveobjectdelta(int obj, int deltax, int deltay);
  106. void flash(int obj);
  107. int changesprite(int obj, int sprite);
  108. int crashtest(int obj1, int obj2);
  109. int outofwindow(int obj);
  110.  
  111. void putsprite(int sprite, int x, int y, int n);
  112. void removesprite(int sprite, int x, int y);
  113.  
  114. void putspritedirect(struct sprstrc *spr, int xp, int yp, int n);
  115.  
  116. void clearscreen(void);
  117. void clearregion(int y, int n);
  118. void copypage(int src, int dst);
  119. void showpage(int p);
  120. void showline(int line);
  121. void showpcx256(void *pic, int line);
  122.  
  123. // window definition.
  124. extern int   windowx0, windowy0;
  125. extern int   windowx1, windowy1;
  126.  
  127. extern int   objflashcolor;
  128. extern int   backgrndcolor;
  129.  
  130.  
  131. #endif
  132.  
  133.